package com.amsp.oa.oademo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;

@Data
@TableName("abnormal_attendance")
@ApiModel(description = "异常考勤实体")
public class AbnormalAttendance {
    @TableId(type = IdType.AUTO)
    @ApiModelProperty("主键ID")
    private Long id;

    @ApiModelProperty("班组")
    @TableField("work_group")
    private String workGroup;

    @ApiModelProperty("工号")
    private String employeeId;

    @ApiModelProperty("姓名")
    private String name;

    @ApiModelProperty("日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate date;

    @ApiModelProperty("班一上班时间")
    private String shift1Start;

    @ApiModelProperty("班一下班时间")
    private String shift1End;

    @ApiModelProperty("班二上班时间")
    private String shift2Start;

    @ApiModelProperty("班二下班时间")
    private String shift2End;

    @ApiModelProperty("班三上班时间")
    private String shift3Start;

    @ApiModelProperty("班三下班时间")
    private String shift3End;

    @ApiModelProperty("附加班一上班时间")
    private String extraShift1Start;

    @ApiModelProperty("附加班一下班时间")
    private String extraShift1End;

    @ApiModelProperty("附加班二上班时间")
    private String extraShift2Start;

    @ApiModelProperty("附加班二下班时间")
    private String extraShift2End;

    @ApiModelProperty("附加班三上班时间")
    private String extraShift3Start;

    @ApiModelProperty("附加班三下班时间")
    private String extraShift3End;

    @ApiModelProperty("迟到时间")
    private String lateTime;

    @ApiModelProperty("迟到次数")
    private Integer lateCount;

    @ApiModelProperty("早退时间")
    private String earlyLeaveTime;

    @ApiModelProperty("早退次数")
    private Integer earlyLeaveCount;

    @ApiModelProperty("旷工时间")
    private String absenteeismTime;

    @ApiModelProperty("旷工次数")
    private Integer absenteeismCount;

    @ApiModelProperty("正班出勤时间")
    private String regularAttendanceTime;

    @ApiModelProperty("员工确认")
    private String employeeConfirmation;

    @ApiModelProperty("直接上级确认")
    private String superiorConfirmation;

    @ApiModelProperty("部门经理确认")
    private String managerConfirmation;

    @ApiModelProperty("考勤异常原因")
    private String abnormalReason;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;

    @ApiModelProperty("是否删除")
    private Boolean deleted;
}